/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mvc.controladores;

import java.io.IOException;
import java.io.Serializable;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpSession;
import mvc.dao.CuentaDAO;
import mvc.dao.RolDAO;
import mvc.modelos.Cuenta;
import mvc.modelos.Rol;

/**
 *
 * @author pezcado
 */
public class IniciarSesionAction extends Action implements Serializable {
    String next=null;
    HttpSession session=null;
    Cuenta c=null;
    Rol r=null;

    @Override
    public void run() throws ServletException, IOException {
        try {
            String tipoUsuario=request.getParameter("tipoUsuario");
            String nombreUsuario=request.getParameter("nombreUsuario");
            int contrasena=(int) Integer.parseInt(request.getParameter("contrasena"));
            
            
            CuentaDAO cdao= new CuentaDAO();
            c= cdao.consultar(contrasena);
            RolDAO rdao= new RolDAO();
            r= rdao.consultar(contrasena);
            
            System.out.println("**usuario que inicio sesion** ");
            System.out.println(r.getTipoRol());
            System.out.println(c.getNombreUsuario());
            System.out.println(c.getContrasena());
            
            session=request.getSession();
            
            if(tipoUsuario.equals(r.getTipoRol()) && nombreUsuario.equals(c.getNombreUsuario()) && contrasena == c.getContrasena() ){
                
                if(tipoUsuario.equals("Administrador"))
                    next="/MenuAdministrador.jsp"; 
                else if(tipoUsuario.equals("Aspirante"))
                    next="/MenuAspirante.jsp";
                else if(tipoUsuario.equals("Director De Grupo"))
                    next="/MenuDirectorDeGrupo.jsp";
                else if(tipoUsuario.equals("Jefe De Cultura"))
                    next="/MenuJefeDeCultura.jsp";
                else if(tipoUsuario.equals("Secretaria"))
                    next="/MenuSecretaria.jsp";
                
                
                session.setAttribute("tipoUsuario", r.getTipoRol());
                session.setAttribute("id", c.getContrasena());
                    
            }else{
                next="/index.jsp";    
            }
            
        } catch (SQLException ex) {
            Logger.getLogger(IniciarSesionAction.class.getName()).log(Level.SEVERE, null, ex);
        }
        
        RequestDispatcher rd= application.getRequestDispatcher(next);
        if(rd==null)
            throw new ServletException("no se pudo encontrar la pagina: "+next);
        rd.forward(request, response);
    }
    
}
